Linear motors are extremely advantageous for use as a means for moving or driving a device, such as, for example, a robot.
A linear stepping motor (much like a rotary stepping motor) is caused to move by advancing magnetic fields developed within the linear stepping motor forcer in order to develop relative motion with respect to its stator which, in the example given, is maintained stationary. A linear stepping motor is a synchronous machine since its advancing fields must very closely track its actual motion. If the fields lose synchronism with the actual motion, the motor stalls and develops no torque or force.
Without positive feedback by way of an encoder or other position tracking device, the position control of the linear motor is open-loop. Similarly, in xy linear motors, which are capable of moving in mutually perpendicular directions along a surface, such as the platen surface, the position control of an xy motor is also open-loop in the absence of position feedback or other position tracking devices.
The absence of direct position feedback allows the possibility of errors due to:
Stall, i.e. the loss of motor force due to the loss of electromagnetic synchronization with the etched pattern of the platen. This condition or stall can occur during:
(a) acceleration, when the mass of the device driven by the linear motor cannot keep up with the advancing electromagnetic wave, PA1 (b) deceleration, when the inertia of the device driven by the linear motor cannot be stopped by the electromagnetic wave, PA1 (c) collision, when the device driven by the linear motor strikes an object in the workspace, causing a stall.
A stall can cause the device driven by the linear motor to slide along the platen in an uncontrolled fashion where subsequent collisions can occur with other objects in the workspace, other devices driven by their linear motors along the platen, or with the edge boundaries of the platen. A stall also allows the possibility of the device driven by the linear motor realigning itself with the platen grid at a totally unknown position or in an unknown orientation where the direction of motion is now unknown. If the device driven by the linear motor is realigned in an unknown orientation, the next commanded move given to such device causes a collision or stall to occur.
A stall causes the xy linear motor position on the platen to be unknown, thereby rendering the control apparatus useless in determining and protecting against collisions.
The linear motors described hereinabove have been used to great advantage in multi-robot systems, such as, for example, the system described in copending application Ser. No. 112,534, filed Oct. 26, 1987, now U.S. Pat. No. 4,890,241, issued Dec. 26, 1989 and assigned to the assignee of the present invention, which application is incorporated herein by reference thereto. Although a detailed description of the robot system is described in the aforementioned copending application, it is sufficient to understand that the robot system of U.S. Pat. No. 4,890,241 is comprised of a plurality of robot devices, each having a two-dimensional (i.e. xy) linear motor, typically referred to as an xy forcer capable of generating electromagnetic fields in mutually perpendicular directions, which fields develop eddy currents in a platen cooperating with the xy forcers. The platen is mounted in a stationary fashion so that the relative motion between the platen and the multiple robots cause the robots to move across the platen. The motion control system employed to move the robot in the x and y directions consists of a main controller and motor drive electronics. The main controller outputs are comprised of motor step pulses and motor direction signals for each of the x and y forcers. The motor drive electronics converts the step pulses and motor direction signals into analog voltages required to drive the power amplifiers, which in turn drive the coil windings of the linear xy motor. Suitable xy linear motors for this purpose are produced by Xynetics of Santa Clara, Calif.
A stall can cause the moving robot arm to slide along the platen in an uncontrolled fashion wherein subsequent collisions can occur with other objects in the workspace, other robot arms on the platen or with the edge boundaries of the platen. A stall can also allow the possibility of the robot arm realigning itself with the platen grid at a totally unknown position or in an unknown orientation where the direction of motion is now unknown. If realigned in an unknown orientation, the next commanded move given to a robot arm can cause a collision or a stall to occur.
A stall causes the xy motor position on the platen to be unknown thereby rendering useless the system control software, for example, the anti-collision software described in copending application Ser. No. 387,222, filed July 28, 1989 and assigned to the assignee of the present application.
It thus becomes necessary to provide means for preventing a robot system from being damaged due to a stall condition.